| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

DxDefinesWrapper.h
1 // DxDefinesWrapper.h
3 //
5
6 namespace nkGraphics
7 {
8 // DXGI_FORMAT
12 enum FORMAT
13 {
14 UNKNOWN_FORMAT = 0,
15 R32G32B32A32_TYPELESS = 1,
16 R32G32B32A32_FLOAT = 2,
17 R32G32B32A32_UINT = 3,
18 R32G32B32A32_SINT = 4,
19 R32G32B32_TYPELESS = 5,
20 R32G32B32_FLOAT = 6,
21 R32G32B32_UINT = 7,
22 R32G32B32_SINT = 8,
23 R16G16B16A16_TYPELESS = 9,
24 R16G16B16A16_FLOAT = 10,
25 R16G16B16A16_UNORM = 11,
26 R16G16B16A16_UINT = 12,
27 R16G16B16A16_SNORM = 13,
28 R16G16B16A16_SINT = 14,
29 R32G32_TYPELESS = 15,
30 R32G32_FLOAT = 16,
31 R32G32_UINT = 17,
32 R32G32_SINT = 18,
33 R32G8X24_TYPELESS = 19,
34 D32_FLOAT_S8X24_UINT = 20,
35 R32_FLOAT_X8X24_TYPELESS = 21,
36 X32_TYPELESS_G8X24_UINT = 22,
37 R10G10B10A2_TYPELESS = 23,
38 R10G10B10A2_UNORM = 24,
39 R10G10B10A2_UINT = 25,
40 R11G11B10_FLOAT = 26,
41 R8G8B8A8_TYPELESS = 27,
42 R8G8B8A8_UNORM = 28,
43 R8G8B8A8_UNORM_SRGB = 29,
44 R8G8B8A8_UINT = 30,
45 R8G8B8A8_SNORM = 31,
46 R8G8B8A8_SINT = 32,
47 R16G16_TYPELESS = 33,
48 R16G16_FLOAT = 34,
49 R16G16_UNORM = 35,
50 R16G16_UINT = 36,
51 R16G16_SNORM = 37,
52 R16G16_SINT = 38,
53 R32_TYPELESS = 39,
54 D32_FLOAT = 40,
55 R32_FLOAT = 41,
56 R32_UINT = 42,
57 R32_SINT = 43,
58 R24G8_TYPELESS = 44,
59 D24_UNORM_S8_UINT = 45,
60 R24_UNORM_X8_TYPELESS = 46,
61 X24_TYPELESS_G8_UINT = 47,
62 R8G8_TYPELESS = 48,
63 R8G8_UNORM = 49,
64 R8G8_UINT = 50,
65 R8G8_SNORM = 51,
66 R8G8_SINT = 52,
67 R16_TYPELESS = 53,
68 R16_FLOAT = 54,
69 D16_UNORM = 55,
70 R16_UNORM = 56,
71 R16_UINT = 57,
72 R16_SNORM = 58,
73 R16_SINT = 59,
74 R8_TYPELESS = 60,
75 R8_UNORM = 61,
76 R8_UINT = 62,
77 R8_SNORM = 63,
78 R8_SINT = 64,
79 A8_UNORM = 65,
80 R1_UNORM = 66,
81 R9G9B9E5_SHAREDEXP = 67,
82 R8G8_B8G8_UNORM = 68,
83 G8R8_G8B8_UNORM = 69,
84 BC1_TYPELESS = 70,
85 BC1_UNORM = 71,
86 BC1_UNORM_SRGB = 72,
87 BC2_TYPELESS = 73,
88 BC2_UNORM = 74,
89 BC2_UNORM_SRGB = 75,
90 BC3_TYPELESS = 76,
91 BC3_UNORM = 77,
92 BC3_UNORM_SRGB = 78,
93 BC4_TYPELESS = 79,
94 BC4_UNORM = 80,
95 BC4_SNORM = 81,
96 BC5_TYPELESS = 82,
97 BC5_UNORM = 83,
98 BC5_SNORM = 84,
99 B5G6R5_UNORM = 85,
100 B5G5R5A1_UNORM = 86,
101 B8G8R8A8_UNORM = 87,
102 B8G8R8X8_UNORM = 88,
103 FORCE_UINT = 0xffffffffUL
104 } ;
105
106 // D3D11_MAP
110 enum MAP
111 {
112 MAP_READ = 1,
113 MAP_WRITE = 2,
114 MAP_READ_WRITE = 3,
115 MAP_WRITE_DISCARD = 4,
116 MAP_WRITE_NO_OVERWRITE = 5
117 } ;
118
119 // D3D11_DEPTH_WRITE_MASK
123 enum DEPTH_WRITE_MASK
124 {
125 DEPTH_WRITE_MASK_ZERO = 0,
126 DEPTH_WRITE_MASK_ALL = 1
127 } ;
128
129 // D3D11_STENCIL_OP
133 enum STENCIL_OP
134 {
135 STENCIL_OP_KEEP = 1,
136 STENCIL_OP_ZERO = 2,
137 STENCIL_OP_REPLACE = 3,
138 STENCIL_OP_INCR_SAT = 4,
139 STENCIL_OP_DECR_SAT = 5,
140 STENCIL_OP_INVERT = 6,
141 STENCIL_OP_INCR = 7,
142 STENCIL_OP_DECR = 8
143 } ;
144
145 // D3D11_DSV_FLAG
149 enum DSV_FLAG
150 {
151 DSV_READ_ONLY_DEPTH = 0x1L,
152 DSV_READ_ONLY_STENCIL = 0x2L
153 } ;
154
155 // D3D11_DSV_DIMENSION
159 enum DSV_DIMENSION
160 {
161 DSV_DIMENSION_UNKNOWN = 0,
162 DSV_DIMENSION_TEXTURE1D = 1,
163 DSV_DIMENSION_TEXTURE1DARRAY = 2,
164 DSV_DIMENSION_TEXTURE2D = 3,
165 DSV_DIMENSION_TEXTURE2DARRAY = 4,
166 DSV_DIMENSION_TEXTURE2DMS = 5,
167 DSV_DIMENSION_TEXTURE2DMSARRAY = 6
168 } ;
169
170 // D3D11_RTV_DIMENSION
174 enum RTV_DIMENSION
175 {
176 RTV_DIMENSION_UNKNOWN = 0,
177 RTV_DIMENSION_BUFFER = 1,
178 RTV_DIMENSION_TEXTURE1D = 2,
179 RTV_DIMENSION_TEXTURE1DARRAY = 3,
180 RTV_DIMENSION_TEXTURE2D = 4,
181 RTV_DIMENSION_TEXTURE2DARRAY = 5,
182 RTV_DIMENSION_TEXTURE2DMS = 6,
183 RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
184 RTV_DIMENSION_TEXTURE3D = 8
185 } ;
186
187 // D3D11_SRV_DIMENSION
191 enum SRV_DIMENSION
192 {
193 SRV_DIMENSION_UNKNOWN = 0,
194 SRV_DIMENSION_BUFFER = 1,
195 SRV_DIMENSION_TEXTURE1D = 2,
196 SRV_DIMENSION_TEXTURE1DARRAY = 3,
197 SRV_DIMENSION_TEXTURE2D = 4,
198 SRV_DIMENSION_TEXTURE2DARRAY = 5,
199 SRV_DIMENSION_TEXTURE2DMS = 6,
200 SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
201 SRV_DIMENSION_TEXTURE3D = 8,
202 SRV_DIMENSION_TEXTURECUBE = 9,
203 SRV_DIMENSION_TEXTURECUBEARRAY = 10,
204 SRV_DIMENSION_BUFFEREX = 11
205 } ;
206
207 // D3D11_UAV_DIMENSION
211 enum UAV_DIMENSION
212 {
213 UAV_DIMENSION_UNKNOWN = 0,
214 UAV_DIMENSION_BUFFER = 1,
215 UAV_DIMENSION_TEXTURE1D = 2,
216 UAV_DIMENSION_TEXTURE1DARRAY = 3,
217 UAV_DIMENSION_TEXTURE2D = 4,
218 UAV_DIMENSION_TEXTURE2DARRAY = 5,
219 UAV_DIMENSION_TEXTURE3D = 8
220 } ;
221
222 // D3D11_BUFFEREX_SRV_FLAG
226 enum BUFFEREX_SRV_FLAG
227 {
228 BUFFEREX_SRV_FLAG_RAW = 0x1
229 } ;
230
231 // D3D11_BUFFER_UAV_FLAG
235 enum BUFFER_UAV_FLAG
236 {
237 BUFFER_UAV_FLAG_RAW = 0x1,
238 BUFFER_UAV_FLAG_APPEND = 0x2,
239 BUFFER_UAV_FLAG_COUNTER = 0x4
240 } ;
241
242 // D3D11_BLEND
246 enum BLEND
247 {
248 BLEND_ZERO = 1,
249 BLEND_ONE = 2,
250 BLEND_SRC_COLOR = 3,
251 BLEND_INV_SRC_COLOR = 4,
252 BLEND_SRC_ALPHA = 5,
253 BLEND_INV_SRC_ALPHA = 6,
254 BLEND_DEST_ALPHA = 7,
255 BLEND_INV_DEST_ALPHA = 8,
256 BLEND_DEST_COLOR = 9,
257 BLEND_INV_DEST_COLOR = 10,
258 BLEND_SRC_ALPHA_SAT = 11,
259 BLEND_BLEND_FACTOR = 14,
260 BLEND_INV_BLEND_FACTOR = 15,
261 BLEND_SRC1_COLOR = 16,
262 BLEND_INV_SRC1_COLOR = 17,
263 BLEND_SRC1_ALPHA = 18,
264 BLEND_INV_SRC1_ALPHA = 19
265 } ;
266
267 // D3D11_BLEND_OP
271 enum BLEND_OP
272 {
273 BLEND_OP_ADD = 1,
274 BLEND_OP_SUBTRACT = 2,
275 BLEND_OP_REV_SUBTRACT = 3,
276 BLEND_OP_MIN = 4,
277 BLEND_OP_MAX = 5
278 } ;
279
280 // D3D11_COLOR_WRITE_ENABLE
284 enum COLOR_WRITE_ENABLE
285 {
286 COLOR_WRITE_ENABLE_RED = 1,
287 COLOR_WRITE_ENABLE_GREEN = 2,
288 COLOR_WRITE_ENABLE_BLUE = 4,
289 COLOR_WRITE_ENABLE_ALPHA = 8,
290 COLOR_WRITE_ENABLE_ALL = (((COLOR_WRITE_ENABLE_RED | COLOR_WRITE_ENABLE_GREEN) | COLOR_WRITE_ENABLE_BLUE) | COLOR_WRITE_ENABLE_ALPHA)
291 } ;
292
293 // D3D11_FILL_MODE
297 enum FILL_MODE
298 {
299 FILL_WIREFRAME = 2,
300 FILL_SOLID = 3
301 } ;
302
303 // D3D11_CULL_MODE
307 enum CULL_MODE
308 {
309 CULL_NONE = 1,
310 CULL_FRONT = 2,
311 CULL_BACK = 3
312 } ;
313
314 // Custom enum : type de shader concerne
318 enum SHADER_TYPE
319 {
320 VERTEX_SHADER = 0,
321 HULL_SHADER,
322 DOMAIN_SHADER,
323 GEOMETRY_SHADER,
324 PIXEL_SHADER,
325 COMPUTE_SHADER,
326 RAYTRACING_SHADER,
327 UNKNOWN_SHADER
328 } ;
329
330 // Custom enum : les semantiques
334 enum SHADER_SEMANTIC
335 {
336 // Per vertex
337 POSITION_0 = 0,
338 POSITION_1,
339 POSITION_2,
340 POSITION_3,
341 POSITION_4,
342 NORMAL_0 = POSITION_0 + 8,
343 NORMAL_1,
344 NORMAL_2,
345 NORMAL_3,
346 NORMAL_4,
347 UV_0 = NORMAL_0 + 8,
348 UV_1,
349 UV_2,
350 UV_3,
351 UV_4,
352 COLOR_0 = UV_0 + 8,
353 COLOR_1,
354 COLOR_2,
355 COLOR_3,
356 COLOR_4,
357 TANGENT_0 = COLOR_0 + 8,
358 TANGENT_1,
359 TANGENT_2,
360 TANGENT_3,
361 TANGENT_4,
362 BINORMAL_0 = TANGENT_0 + 8,
363 BINORMAL_1,
364 BINORMAL_2,
365 BINORMAL_3,
366 BINORMAL_4,
367 // Vertex data
368 SV_VERTEX_ID = BINORMAL_0 + 8,
369 // Instance
370 WORLDMAT_0 = SV_VERTEX_ID + 1,
371 WORLDMAT_1,
372 WORLDMAT_2,
373 WORLDMAT_3,
374 WORLDMAT_4,
375 // Offset pour les output semantics
376 OUTPUT_SEMANTIC_OFFSET = WORLDMAT_0 + 16,
377 // Maximum bound
378 MAXIMUM_SEMANTIC_INDEX = OUTPUT_SEMANTIC_OFFSET * 2
379 } ;
380
384 enum SHADER_RESOURCE_SLOT
385 {
386 // Constant buffer
387 CONSTANT_BUFFER_0 = 0,
388 CONSTANT_BUFFER_1,
389 CONSTANT_BUFFER_2,
390 CONSTANT_BUFFER_3,
391 CONSTANT_BUFFER_4,
392 CONSTANT_BUFFER_5,
393 CONSTANT_BUFFER_6,
394 CONSTANT_BUFFER_7,
395 CONSTANT_BUFFER_8,
396 CONSTANT_BUFFER_9,
397 CONSTANT_BUFFER_10,
398 CONSTANT_BUFFER_11,
399 CONSTANT_BUFFER_12,
400 CONSTANT_BUFFER_13,
401 CONSTANT_BUFFER_14,
402 CONSTANT_BUFFER_15,
403 CONSTANT_BUFFER_16,
404 CONSTANT_BUFFER_17,
405 CONSTANT_BUFFER_18,
406 // Shader resource
407 SHADER_RESOURCE_0,
408 SHADER_RESOURCE_1,
409 SHADER_RESOURCE_2,
410 SHADER_RESOURCE_3,
411 SHADER_RESOURCE_4,
412 SHADER_RESOURCE_5,
413 SHADER_RESOURCE_6,
414 SHADER_RESOURCE_7,
415 SHADER_RESOURCE_8,
416 SHADER_RESOURCE_9,
417 SHADER_RESOURCE_10,
418 SHADER_RESOURCE_11,
419 SHADER_RESOURCE_12,
420 SHADER_RESOURCE_13,
421 SHADER_RESOURCE_14,
422 SHADER_RESOURCE_15,
423 SHADER_RESOURCE_16,
424 SHADER_RESOURCE_17,
425 SHADER_RESOURCE_18,
426 // UAV
427 UAV_RESOURCE_0,
428 UAV_RESOURCE_1,
429 UAV_RESOURCE_2,
430 UAV_RESOURCE_3,
431 UAV_RESOURCE_4,
432 UAV_RESOURCE_5,
433 UAV_RESOURCE_6,
434 UAV_RESOURCE_7,
435 UAV_RESOURCE_8,
436 UAV_RESOURCE_9,
437 UAV_RESOURCE_10,
438 UAV_RESOURCE_11,
439 UAV_RESOURCE_12,
440 UAV_RESOURCE_13,
441 UAV_RESOURCE_14,
442 UAV_RESOURCE_15,
443 UAV_RESOURCE_16,
444 UAV_RESOURCE_17,
445 UAV_RESOURCE_18,
446 // Sampler
447 SAMPLER_0,
448 SAMPLER_1,
449 SAMPLER_2,
450 SAMPLER_3,
451 SAMPLER_4,
452 SAMPLER_5,
453 SAMPLER_6
454 } ;
455
459 enum PROGRAM_COMPILATION_PROFILE
460 {
461 PROFILE_UNKNOWN = 0,
462 PROFILE_SM_5_0,
463 PROFILE_SM_5_1,
464 PROFILE_SM_6_0
465 } ;
466 }
nkGraphics::CULL_MODE
CULL_MODE
Available culling modes.
Definition: DxDefinesWrapper.h:308
nkGraphics::DEPTH_WRITE_MASK_ALL
@ DEPTH_WRITE_MASK_ALL
Turns on depth writes.
Definition: DxDefinesWrapper.h:126
nkGraphics::BLEND_OP
BLEND_OP
Available blending operations.
Definition: DxDefinesWrapper.h:272
nkGraphics::SHADER_TYPE
SHADER_TYPE
Available shader types.
Definition: DxDefinesWrapper.h:319
nkGraphics::BUFFEREX_SRV_FLAG
BUFFEREX_SRV_FLAG
Available buffer ex shader resource views flags.
Definition: DxDefinesWrapper.h:227
nkGraphics::DSV_DIMENSION
DSV_DIMENSION
Available depth and stencil view dimensions.
Definition: DxDefinesWrapper.h:160
nkGraphics::DSV_FLAG
DSV_FLAG
Available depth and stencil view flags.
Definition: DxDefinesWrapper.h:150
nkGraphics::SHADER_RESOURCE_SLOT
SHADER_RESOURCE_SLOT
Available resources slots.
Definition: DxDefinesWrapper.h:385
nkGraphics::DEPTH_WRITE_MASK
DEPTH_WRITE_MASK
Available depth write masks.
Definition: DxDefinesWrapper.h:124
nkGraphics::COLOR_WRITE_ENABLE
COLOR_WRITE_ENABLE
Available color write masks.
Definition: DxDefinesWrapper.h:285
nkGraphics::BLEND
BLEND
Available blending types.
Definition: DxDefinesWrapper.h:247
nkGraphics::MAP
MAP
Available mapping request types.
Definition: DxDefinesWrapper.h:111
nkGraphics::BUFFER_UAV_FLAG
BUFFER_UAV_FLAG
Available unordered access views flags.
Definition: DxDefinesWrapper.h:236
nkGraphics::UAV_DIMENSION
UAV_DIMENSION
Available unordered access views dimensions.
Definition: DxDefinesWrapper.h:212
nkGraphics::DEPTH_WRITE_MASK_ZERO
@ DEPTH_WRITE_MASK_ZERO
Turns off depth writes.
Definition: DxDefinesWrapper.h:125
nkGraphics::SHADER_SEMANTIC
SHADER_SEMANTIC
Available shader semantics.
Definition: DxDefinesWrapper.h:335
nkGraphics::STENCIL_OP
STENCIL_OP
Available stencil operations.
Definition: DxDefinesWrapper.h:134
nkGraphics::FORMAT
FORMAT
Available formats for resources.
Definition: DxDefinesWrapper.h:13
nkGraphics::FILL_MODE
FILL_MODE
Available filling mode during rasterization.
Definition: DxDefinesWrapper.h:298
nkGraphics::PROGRAM_COMPILATION_PROFILE
PROGRAM_COMPILATION_PROFILE
Available program compilation profiles.
Definition: DxDefinesWrapper.h:460
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::SRV_DIMENSION
SRV_DIMENSION
Available shader resource views dimensions.
Definition: DxDefinesWrapper.h:192
nkGraphics::RTV_DIMENSION
RTV_DIMENSION
Available render target view dimensions.
Definition: DxDefinesWrapper.h:175